package com.ruoyi.mapper;

import java.util.List;
import com.ruoyi.domain.ProConSupAgr;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;

/**
 * 工程合同及补充协议Mapper接口
 * 
 * @author ruoyi
 * @date 2020-06-18
 */
public interface ProConSupAgrMapper 
{
    /**
     * 查询工程合同及补充协议
     * 
     * @param pId 工程合同及补充协议ID
     * @return 工程合同及补充协议
     */
    public ProConSupAgr selectProConSupAgrById(Long pId);

    /**
     * 查询工程合同及补充协议列表
     * 
     * @param proConSupAgr 工程合同及补充协议
     * @return 工程合同及补充协议集合
     */
    public List<ProConSupAgr> selectProConSupAgrList(ProConSupAgr proConSupAgr);

    /**
     * 根据总项目ID查询对应的工程合同
     */
    @Select("select * from pro_con_sup_agr where parent_id = #{parentId}")
    @ResultMap("ProConSupAgrResult")
    List<ProConSupAgr> selectProConSupAgrLists(Long parentId);

    /**
     * 新增工程合同及补充协议
     * 
     * @param proConSupAgr 工程合同及补充协议
     * @return 结果
     */
    public int insertProConSupAgr(ProConSupAgr proConSupAgr);

    /**
     * 修改工程合同及补充协议
     * 
     * @param proConSupAgr 工程合同及补充协议
     * @return 结果
     */
    public int updateProConSupAgr(ProConSupAgr proConSupAgr);

    /**
     * 删除工程合同及补充协议
     * 
     * @param pId 工程合同及补充协议ID
     * @return 结果
     */
    public int deleteProConSupAgrById(Long pId);

    /**
     * 批量删除工程合同及补充协议
     * 
     * @param pIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteProConSupAgrByIds(String[] pIds);

    /***
     * 按照项目id查询工程合同补充协议列表中的甲方名称、合同名称、合同金额
     *
     * @param pId
     * @return
     */
    public List<ProConSupAgr> selectpId(String pId);

    /**
     * 导出所有
     *
     * @param proConSupAgr 用户信息
     * @return 用户信息集合信息
     */
    public List<ProConSupAgr> selectUserexport(ProConSupAgr proConSupAgr);
}
